export function formatTime(time) {
    let now = new Date().getTime();
    let target = new Date(time).getTime();
    if (now - target < 60 * 1000) {
        return "刚刚";
    } else if (now - target < 60 * 60 * 1000) {
        return parseInt(String((now - target) / 60 / 1000)) + "分钟前";
    } else if (now - target < 24 * 60 * 60 * 1000) {
        return parseInt(String((now - target) / 60 / 60 / 1000)) + "小时前";
    } else if (now - target < 7 * 24 * 60 * 60 * 1000) {
        return parseInt(String((now - target) / 24 / 60 / 60 / 1000)) + "天前";
    } else if (now - target < 30 * 24 * 60 * 60 * 1000) {
        return parseInt(String((now - target) / 7 / 24 / 60 / 60 / 1000)) + "周前";
    } else if (now - target < 12 * 30 * 24 * 60 * 60 * 1000) {
        return parseInt(String((now - target) / 30 / 24 / 60 / 60 / 1000)) + "个月前";
    } else {
        return parseInt(String((now - target) / 12 / 30 / 24 / 60 / 60 / 1000)) + "年前";
    }
}

export function formatNumber(number) {
    return number >= 10000 ? (number / 10000).toFixed(1) + "W" : number;
}

// base64 转为Blob
export function base64ToBlob(base64Data) {
    const dataArr = base64Data.split(','); // 根据,来分隔
    const imageType = dataArr[0].match(/:(.*?);/)[1]; // 获取文件类型。使用正则捕获 image/jpeg
    const textData = window.atob(dataArr[1]); // 使用atob() 将base64 转为文本文件
    const arrayBuffer = new ArrayBuffer(textData.length); // 创建一个二进制数据缓冲区，可以理解为一个数组
    const uint8Array = new Uint8Array(arrayBuffer); // 创建一个类型化数组对象，可以理解为上面的数组的成员，给这个对象赋值就会放到上面的数组中。
    for (let i = 0; i < textData.length; i++) {
        uint8Array[i] = textData.charCodeAt(i); // 将文本文件转为UTF-16的ASCII, 放到类型化数组对象中
    }
    return [new Blob([arrayBuffer], {type: imageType}), imageType.slice(6)]; // 返回两个值，一个Blob对象，一个图片格式（如jpeg）
}